//! 为结构体生成一个`config`方法，调用该方法可以读取配置文件中的属性
//! 使用方式
//! `#[derive(Debug, Deserialize, Configuration)]`
//! `#[config(prefix = "push.file", file(path = "application.yml", require = true)]`
//! 
//! `#[config]`可以配置的属性
//! - prefix： 读取配置文件的前缀
//! - file: 配置文件的路径（可以配置多个file属性）
//!   + path: 文件路径
//!   + require: 文件是否必须(默认false)
//! - env: 通过指定环境变量来指定文件路径（可以配置多个env属性）
//!   + name: 环境变量名（如果通过name获取不到值则什么都不做）
//!   + require: 文件是否必须(默认false)
//! - http: 配置http属性（可以配置多个http属性）
//!   + url: http的url
//!   + method: 请求方法（只支持get和post两种）
//!   + format: 返回的字符串的格式（支持 toml、json、yaml、yml、json5、ini、ron）
//! - environment: 是否从环境变量中读取，默认为true
//! > 优先级： http > environment > env > file

mod http;
pub use http::*;
pub use config_plus_macro::*;